Skip to main content

Sugar - Photosensitive

Introduction

Detect the ambient light intensity and return the analog data. image.png

Parameters


Dimension24 x 24 x 16 mm
Weight4.7 g
SignalAnalog input
Range0~3.3V correspond to future board 0~4095

Using on micro:bit

Robotbit_压缩后.png

Coding Platform

Microsoft MakeCode for micro:bit Use Makecode as coding platform

Add Sugar Plugin

image-20240311154521941 image.png Search Sugar in extensions, click add

Building Blocks - Function Description

Serial NumberBuilding Block ImageBuilding Block Function
1image-20240315174137978Get the numerical value of the light-sensitive sensor (0-1023)

Circuit Connection

image.png


Microbit InterfaceWiring
Light Sensor.pngLight SensorP0White PH2.0-3Pin Interface Wireuntitled.100.png

Coding

Case: Determine Light Intensity

image-20240315174502850

Using Kittenblock

Connect the light sensor to the P1 of Robotbit Edu using a 3PIN terminal wire. Turn on the Robotbit power supply to see the red light at the bottom of the light sensor module light up (indicating that the module is powered normally) light.png

The brightness of the future board screen is filled with the screen, and the filled value is the lightness value 0~255(from black to white). If the ambient light value 0~4095 is to correspond to the screen brightness value 0~255, the mapping block needs to be used to correspond the two intervals one by one. Choose to run the program in the online running or offline uploading mode to see the effect

info

If you are not sure how to run online or upload offline, please refer to Quick Start

image-20240315175101659

Ambient Light Value

value()

  • Return value: 0~4095
from future import *
from sugar import *
light = Light('P1')

Interval mapping formula, no need to understand too much, just use it directly

def valmap(x, in_min, in_max, out_min, out_max): return int((x-in_min) * (out_max-out_min) / (in_max-in_min) + out_min)

Turn off synchronous refresh for smoother screen

screen.sync = 0 while True: x = light.value() screen.fill(round(valmap(x, 0, 4096, 0, 255))) screen.refresh()

Effect Demonstration

Realize the brightness of the ambient light, and the brightness of the face board screen will change accordingly. light.mp4